package com.sky.utils;



import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;

import java.nio.charset.StandardCharsets;
import java.util.Date;
import java.util.Map;

public class JwtUtils {
   /* private static String signKey="itheima";
   *//* private static Long expire=43200000l;//12小时*//*
    private static Long expire=43200000l;//12小时*/

    /**
     * 生成JWT令牌
     * @param claims JWT第二部分附着在payload中存储的内容
     * @return
     * */

    public static String createJWT(String signKey,long expire,   Map<String,Object> claims){
        String jwt = Jwts.builder()
                .addClaims(claims)
                .signWith(SignatureAlgorithm.HS256, signKey)
                .setExpiration(new Date(System.currentTimeMillis() + expire))
                .compact();
        return jwt;
    }



    /**
     * 解析JWT令牌
     * @param token JWT令牌
     * @return JWT第二部门负载payload中存储的内容
     * */
   public static Claims ParseJwt(String signKey,String token){
        Claims claims = Jwts.parser()
                .setSigningKey(signKey)
                .parseClaimsJws(token)
                .getBody();
          return claims;
    }

}
